package com.tsj.spzx.service;

import com.tsj.spzx.model.entity.system.SysMenu;
import com.tsj.spzx.model.vo.system.SysMenuVo;

import java.util.List;

public interface SysMenuService {

    /**
     * 查询所有菜单以及菜单下的子菜单
     * @return
     */
    List<SysMenu> findNodes();

    /**
     * 添加菜单
     * @param sysMenu
     */
    void saveSysMenu(SysMenu sysMenu);

    /**
     * 修改菜单
     * @param sysMenu
     */
    void updateSysMenu(SysMenu sysMenu);

    /**
     * 根据id删除菜单
     * @param id
     */
    void removeById(Long id);

    /**
     * 根据用户id动态展示菜单
     * @return 返回的是装有sysMenuVo对象的集合
     */
    List<SysMenuVo> getMenusByUserId();

}
